## IMDB MOVIE REVIEWS LOADER

This loader fetches all the reviews of a movie or a TV-series from IMDB official site. This loader is working on Windows machine and it requires further debug on Linux. Fixes are on the way

Install the required dependencies

```
pip install -r requirements.txt
```

The IMDB downloader takes in two attributes

- movie_name_year: The name of the movie or series and year
- webdriver_engine: To use edge, google or gecko (mozilla) webdriver
- generate_csv: Whether to generate csv file
- multithreading: whether to use multithreading or not

## Usage

```python
from llama_index import download_loader

IMDBReviewsloader = download_loader("IMDBReviews")

loader = IMDBReviews(
    movie_name_year="The Social Network 2010", webdriver_engine="edge"
)
docs = loader.load_data()
```

The metadata has the following information

- date of the review (date)
- title of the review (title)
- rating of the review (rating)
- link of the review (link)
- whether the review is spoiler or not (spoiler)
- number of people found the review helpful (found_helpful)
- total number of votes (total)

It will download the files inside the folder `movie_reviews` with the filename as the movie name

## EXAMPLES

This loader can be used with both Langchain and LlamaIndex.

### LlamaIndex

```python
from llama_index import VectorStoreIndex, download_loader
from llama_index import VectorStoreIndex

IMDBReviewsloader = download_loader("IMDBReviews")

loader = IMDBReviewsloader(
    movie_name_year="The Social Network 2010",
    webdriver_engine="edge",
    generate_csv=False,
    multithreading=False,
)
docs = loader.load_data()

index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()

response = query_engine.query(
    "What did the movie say about Mark Zuckerberg?",
)
print(response)
```

### Langchain

```python
from llama_index import download_loader
from langchain.llms import OpenAI
from langchain.agents.agent_toolkits.pandas import (
    create_pandas_dataframe_agent,
)
from langchain.agents import Tool
from langchain.agents import initialize_agent
from langchain.chat_models import ChatOpenAI

IMDBReviewsloader = download_loader("IMDBReviews")

loader = IMDBReviewsloader(
    movie_name_year="The Social Network 2010",
    webdriver_engine="edge",
    generate_csv=False,
    multithreading=False,
)
docs = loader.load_data()
tools = [
    Tool(
        name="LlamaIndex",
        func=lambda q: str(index.as_query_engine().query(q)),
        description="useful for when you want to answer questions about the movies and their reviews. The input to this tool should be a complete english sentence.",
        return_direct=True,
    ),
]
llm = ChatOpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent="conversational-react-description")
agent.run("What did the movie say about Mark Zuckerberg?")
```
